package myzd.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import myzd.domain.enums.PaymentPayType;
import myzd.domain.enums.PaymentType;

import java.util.Date;

/**
 * @author zks
 * @since 2017/10/18 16:19
 */
@Data
public class OrderPayment {
  /**
   * ID
   */
  private Long id;

  /**
   * 订单编号
   */
  private Long orderNumber;

  /**
   * 支付订单编号
   */
  private Long paymentNumber;

  /**
   * 支付订单类型
   */
  private PaymentType type;

  /**
   * 收款类型
   */
  private PaymentPayType payType;

  /**
   * 支付订单状态
   */
  private Integer status;

  /**
   * 订单创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
  private Date orderCreatedAt;

  /**
   * 订单手术金额
   */
  private Integer orderAppointmentFee;

  /**
   * 面诊医生
   */
  private String orderDoctorName;

  /**
   * 面诊医生ID
   */
  private Integer orderDoctorId;

  /**
   * 面诊医生收款账户姓名
   */
  private String doctorAccountName;

  /**
   * 面诊医生收款账户信息
   */
  private String doctorAccountInfo;

  /**
   * 收款备注
   */
  private String appointmentFeeRemark;

  /**
   * 应收金额
   */
  private Integer receivableFee;

  /**
   * 实收金额
   */
  private Integer receivedFee;

  /**
   * ping++支付ID
   */
  private String receivedPingxxId;

  /**
   * 收款第三方单号
   */
  private String receivedTransactionId;

  /**
   * 收款时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
  private Date receivedAt;

  /**
   * 付款人微信OPENID
   */
  private String payerAuthId;

  /**
   * 付款人微信渠道
   */
  private String payerAuthSource;

  /**
   * 付款人微信信息
   */
  private String payerAuthInfo;

  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
  private Date createdAt;

  /**
   * 是否可用
   */
  private Boolean enabled;

}
